1
Локальная область видимости и автоматическая продолжительность существования объектов
AI037Lesson 9
00:00

В грандиозном театре программы на языке С++ объекты подобны актерам. Некоторые остаются на сцене на протяжении всего спектакля, но большинство — локальные объекты—это мимолетные сущности, которые появляются на одной сцене и исчезают навсегда. В этом уроке устанавливается фундаментальное различие между видимостью объекта видимостью (область видимости) и его существованием (продолжительностью существования).

1. Лексическая область видимости против продолжительности выполнения

Область видимости области видимости имени — это свойство времени компиляции: это область текста программы, где имя может быть использовано. Напротив, продолжительность существования — это свойство времени выполнения: длительность, на которую объект занимает физический адрес памяти.

Исходный код (область видимости){int i = 42;cout << i;}Стек памяти (продолжительность существования)i: 42Другие фреймыСозданиеВыход из блока / удаление

2. Автоматические объекты

Объекты, которые существуют только во время выполнения блока, являются автоматическими объектами. Они создаются, когда управление проходит через их определение (int n = 0;) и уничтожаются при закрытии фигурной скобки (}) достигается. Параметры по сути являются локальными переменными, инициализированными аргументами.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>